Downloading files and other data from a server on the internet or another network can take a substantial period of time. Download time may depend on factors such as the bandwidth used, the load on the server, the size of the data, and whether compression, encryption, or other encoding is involved. Multi-sourcing may decrease download time for large files by getting file data from two or more sources, e.g., from several mirrored servers.
In some cases, a program that performs multi-source downloads will connect to one server and begin downloading a portion of a desired file, then find another server hosting the same file and begin downloading another portion of the same file. A third server may be used to download a third portion of the file, and so on. To promote efficiency, such a program may segment the file so that different portions (segment groups) come from different servers; the user does not download the same part of the file twice. The program assembles the file segments, and the completed file can be obtained faster than it would have been by downloading it from a single source. Download managers and other programs that download relatively large files often use multi-source downloading.